home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / ms_dos / tool / fmlbp / page.awk < prev    next >
Text File  |  1994-07-20  |  1KB  |  71 lines

  1. BEGIN {
  2.     t=(t)?t:8
  3.     l=(l)?l:54
  4.     hp=(hp)?hp:80
  5.     h=(h)?h:"70:20"
  6.     d=(d)?d:"90:24"
  7.     FS="\t"
  8.     fn=toupper(ARGV[1])
  9.     sub(/^.*\\/,"",fn)
  10.     print fn >"/dev/stderr"
  11.     hs=tostr(h)
  12.     ds=tostr(d)
  13.     "kiroku $20 $0d$0a" | getline dt
  14.     close("kiroku $20 $0d$0a")
  15.     print "FM Print File"
  16. }
  17.  
  18. NF>1 {
  19.     s=$1
  20.     for(i=1; i<NF; i++) {
  21.         ns=t-length(s)%t
  22.         s=s sprintf("%" ns "s","") $(i+1)
  23.     }
  24.     $0=s
  25. }
  26.  
  27. {
  28.     if(NR % l == 1) {
  29.         if(NR != 1) print " "
  30.         print hs
  31.         printf ("%" hp "s   %-12s  page %d\n", dt, fn, ++p)
  32.         print "EE" ds
  33.     }
  34.     print $0
  35.     print "E"
  36. }
  37.  
  38. END {
  39.     print " "
  40.     printf("Page=%d\n",p) >"/dev/stderr"
  41. }
  42.  
  43. function tostr(s) {
  44.     fs=cp=s
  45.     sub(/:[0-9]+$/,"",fs)
  46.     sub(/^[0-9]+:/,"",cp)
  47.     fsl=length(fs)
  48.     str="\x1c&"
  49.     for(i=1; i<fsl; i++) {
  50.         fsc=32+substr(fs,i,1)
  51.         str=str sprintf("%c",fsc)
  52.     }
  53.     fsc=96+substr(fs,fsl,1)
  54.     str=str sprintf("%c",fsc)
  55.     for(i=1; i<fsl; i++) {
  56.         fsc=32+substr(fs,i,1)
  57.         str=str sprintf("%c",fsc)
  58.     }
  59.     fsc=112+substr(fs,fsl,1)
  60.     str=str sprintf("%c",fsc)
  61.     cpl=length(cp)
  62.     str=str "\x1c$"
  63.     for(i=1; i<cpl; i++) {
  64.         cpc=32+substr(cp,i,1)
  65.         str=str sprintf("%c",cpc)
  66.     }
  67.     cpc=112+substr(cp,cpl,1)
  68.     str=str sprintf("%c",cpc)
  69.     return str
  70. }
  71.